package com.ruoyi.system.domain.vo;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.system.domain.TbDevice;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
@Schema(description = "设备信息对象")
@Data
public class DeviceInfoVO extends TbDevice {

    /**
     * 操作系统版本
     */
    @Schema(description = "操作系统版本")
    private String osVer;

    /**
     * 存储总容量(GB)
     */
    @Schema(description = "存储总容量(GB)")
    private Double romTotal;


    /**
     * 设备型号
     */
    @Schema(description = "设备型号")
    private String devModel;

    /**
     * CPU信息
     */
    @Schema(description = "CPU信息")
    private String cpuInfo;

    /**
     * 内存总量(GB)
     */
    @Schema(description = "内存总量(GB)")
    private Double memoryTotal;

    /**
     * 电池健康度(百分比)
     */
    @Schema(description = "电池健康度(百分比)")
    private Double batteryHealth;


    /**
     * 硬件版本
     */
    @Schema(description = "硬件版本")
    private String hardwareVersion;

    /**
     * 累计加电时间
     */
    @Schema(description = "累计加电时间")
    private Double powerOnTime;

    /**
     * 累计开机时间
     */
    @Schema(description = "累计开机时间")
    private Double powerOnHours;

    /**
     * 累计开机次数
     */
    @Schema(description = "累计开机次数")
    private Integer powerOnCount;

    /**
     * usb状态
     */
    @Schema(description = "usb状态")
    private Integer usbState;

    /**
     * lcm温度
     */
    @Schema(description = "lcm温度")
    private String lcmTemperature;

    /**
     * pcb温度
     */
    @Schema(description = "pcb温度")
    private String pcbTemperature;

    /**
     * cpu温度
     */
    @Schema(description = "cpu温度")
    private String cpuTemperature;

    /**
     * 内存使用率
     */
    @Schema(description = "内存使用率")
    private String memUsage;

    /**
     * 存储空间使用率
     */
    @Schema(description = "存储空间使用率")
    private String storageUsage;

    /**
     * cpu 使用率
     */
    @Schema(description = "cpu 使用率")
    private String cpuUsage;

    /**
     * 可用内存(GB)
     */
    @Schema(description = "可用内存(GB)")
    private Double memoryFree;

    /**
     * 屏幕温度(℃)
     */
    @Schema(description = "屏幕温度(℃)")
    private Double screenTemp;

    /**
     * 风扇转速(rpm)
     */
    @Schema(description = "风扇转速(rpm)")
    private Double fanSpeed;

    /**
     * 主板温度(℃)
     */
    @Schema(description = "主板温度(℃)")
    private Double motherboardTemp;

    /**
     * 设备连接状态, 1表示 Wi-Fi 已连接 0 ,Wi-Fi 已断开
     */
    @Schema(description = "设备连接状态, 1表示 Wi-Fi 已连接 0 ,Wi-Fi 已断开")
    private Integer connectionStatus;

    /**
     * 当前执行任务
     */
    @Schema(description = "当前执行任务")
    private Integer currentTask;

    /**
     * 最后升级状态
     */
    @Schema(description = "最后升级状态")
    private Integer lastUpgradeStatus;

    /**
     * 版本ID信息
     */
    @Schema(description = "版本ID信息")
    private String versionIdInfo;

    /**
     * 实际开机分钟数
     */
    @Schema(description = "实际开机分钟数")
    private Double pwrOnMinReal;

    /**
     * 临时开机分钟数
     */
    @Schema(description = "临时开机分钟数")
    private Integer pwrOnMinTemp;


    /** 经度 */
    @Excel(name = "经度")
    @Schema(description = "经度")
    private Double longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    @Schema(description = "纬度")
    private Double latitude;

    /** 高度 */
    @Excel(name = "高度")
    @Schema(description = "高度")
    private Double altitude;

}
